package com.sunbim.rsrv.pojo;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.time.LocalDateTime;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 *
 * </p>
 *
 * @author yuhui
 * @since 2021-12-30
 */
@Getter
@Setter
@TableName("relics")
@ApiModel(value = "Relics对象", description = "")
public class Relics implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty("用户id")
    @TableField("user_id")
    @JsonProperty("user_id")
    private Integer userId;

    @ApiModelProperty("文物名称")
    @TableField("relics_name")
    @JsonProperty("relics_name")
    private String relicsName;

    @ApiModelProperty("文物地区")
    @TableField("relics_region")
    @JsonProperty("relics_region")
    private String relicsRegion;

    @ApiModelProperty("文物地址")
    @TableField("relics_address")
    @JsonProperty("relics_address")
    private String relicsAddress;

    @ApiModelProperty("文物类型")
    @TableField("relics_type")
    @JsonProperty("relics_type")
    private String relicsType;

    @ApiModelProperty("文物级别")
    @TableField("relics_grade")
    @JsonProperty("relics_grade")
    private String relicsGrade;

    @ApiModelProperty("文物简介")
    @TableField("relics_abstracts")
    @JsonProperty("relics_abstracts")
    private String relicsAbstracts;

    @ApiModelProperty("文物年代")
    @TableField("relics_age")
    @JsonProperty("relics_age")
    private String relicsAge;

    @ApiModelProperty("文物的级别/批次")
    @TableField("relics_grand_batch")
    @JsonProperty("relics_grand_batch")
    private String relicsGrandBatch;

    @ApiModelProperty("文物使用方式")
    @TableField("relics_way")
    @JsonProperty("relics_way")
    private String relicsWay;

    @ApiModelProperty("文物代码")
    @TableField("relics_code")
    @JsonProperty("relics_code")
    private String relicsCode;

    @ApiModelProperty("文物公布时间")
    @TableField("relics_pubtime")
    @JsonProperty("relics_pubtime")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime relicsPubtime;

    @ApiModelProperty("文物公布代码")
    @TableField("relics_pubcode")
    @JsonProperty("relics_pubcode")
    private String relicsPubcode;

    @ApiModelProperty("文物所有权")
    @TableField("relics_ownership")
    @JsonProperty("relics_ownership")
    private String relicsOwnership;

    @ApiModelProperty("文物所有者")
    @TableField("relics_owner")
    @JsonProperty("relics_owner")
    private String relicsOwner;

    @ApiModelProperty("文物管理机构")
    @TableField("relics_manager")
    @JsonProperty("relics_manager")
    private String relicsManager;

    @ApiModelProperty("文物概况")
    @TableField("relics_overview")
    @JsonProperty("relics_overview")
    private String relicsOverview;

    @ApiModelProperty("主要价值")
    @TableField("relics_value")
    @JsonProperty("relics_value")
    private String relicsValue;

    @ApiModelProperty("文物保护建议")
    @TableField("relics_advice")
    @JsonProperty("relics_advice")
    private String relicsAdvice;

    @ApiModelProperty("文物面积,单位米平方")
    @TableField("relics_area")
    @JsonProperty("relics_area")
    private Double relicsArea;

    @ApiModelProperty("本体组成描述")
    @TableField("relics_compose")
    @JsonProperty("relics_compose")
    private String relicsCompose;

    @ApiModelProperty("保护范围")
    @TableField("relics_protection_scope")
    @JsonProperty("relics_protection_scope")
    private String relicsProtectionScope;

    @ApiModelProperty("保护范围面积,单位米平方")
    @TableField("relics_protection_scope_area")
    @JsonProperty("relics_protection_scope_area")
    private Double relicsProtectionScopeArea;

    @ApiModelProperty("建控地带")
    @TableField("relics_build_controller")
    @JsonProperty("relics_build_controller")
    private String relicsBuildControl;

    @ApiModelProperty("建控地带面积,单位米平方")
    @TableField("relics_build_controller_area")
    @JsonProperty("relics_build_controller_area")
    private Double relicsBuildControlArea;

    @ApiModelProperty("本体概况")
    @TableField("relics_body_overview")
    @JsonProperty("relics_body_overview")
    private String relicsBodyOverview;

    @ApiModelProperty("文物历史沿革")
    @TableField("relics_history")
    @JsonProperty("relics_history")
    private String relicsHistory;

    @ApiModelProperty("本体形制与结构体系")
    @TableField("relics_struct")
    @JsonProperty("relics_struct")
    private String relicsStruct;

    @ApiModelProperty("本体形制与结构体系详细说明")
    @TableField("relics_struct_desc")
    @JsonProperty("relics_struct_desc")
    private String relicsStructDesc;


    @ApiModelProperty("文物坐标")
    @TableField("relics_geo")
    @JsonProperty("relics_geo")
    private String relicsGeo;

    @ApiModelProperty("文物图片")
    @TableField("relics_icon")
    @JsonProperty("relics_icon")
    private String relicsIcon;

    @TableField(value = "create_time", fill = FieldFill.INSERT)
    @JsonProperty(value = "create_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    @JsonProperty(value = "update_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;
}
